package com.jeesite.modules.tk.entity;

import javax.validation.constraints.Size;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 任务维权Entity
 * @author 李寒冰
 * @version 2025-02-08
 */
@Table(name="tk_task_weiquan", alias="a", label="任务维权信息", columns={
		@Column(name="id", attrName="id", label="id", isPK=true),
		@Column(name="code", attrName="code", label="任务工单号"),
		@Column(name="weiquan_type", attrName="weiquanType", label="维权类型"),
		@Column(name="my_task_id", attrName="myTaskId", label="任务ID"),
		@Column(name="user_id", attrName="userId", label="申请人"),
		@Column(name="fail_explain", attrName="failExplain", label="维权原因"),
		@Column(name="pics", attrName="pics", label="上传图片"),
		@Column(name="create_time", attrName="createTime", label="申请时间", isUpdateForce=true),
		@Column(name="shensu_status", attrName="shensuStatus", label="1 用户申诉 2平台处理结果  3用户接单"),
		@Column(name="liucheng", attrName="liucheng", label="liucheng"),
		@Column(name="caiding_time", attrName="caidingTime", label="裁定时间", isUpdateForce=true),
		@Column(name="my_task_status", attrName="myTaskStatus", label="裁定状态"),
		@Column(name="caiding_pics", attrName="caidingPics", label="裁定图片路径"),
		@Column(name="caiding_explain", attrName="caidingExplain", label="裁定说明"),
	}, orderBy="a.id DESC"
)
public class TkTaskWeiquan extends DataEntity<TkTaskWeiquan> {
	
	private static final long serialVersionUID = 1L;
	private String code;		// 任务工单号
	private String weiquanType;		// 维权类型
	private String myTaskId;		// 任务ID
	private String userId;		// 申请人
	private String failExplain;		// 维权原因
	private String pics;		// 上传图片
	private Date createTime;		// 申请时间
	private String shensuStatus;		// 1 用户申诉 2平台处理结果  3用户接单
	private String liucheng;		// liucheng
	private Date caidingTime;		// 裁定时间
	private String myTaskStatus;		// 裁定状态
	private String caidingPics;		// 裁定图片路径
	private String caidingExplain;		// 裁定说明

	public TkTaskWeiquan() {
		this(null);
	}
	
	public TkTaskWeiquan(String id){
		super(id);
	}
	
	@Size(min=0, max=255, message="任务工单号长度不能超过 255 个字符")
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	
	@Size(min=0, max=255, message="维权类型长度不能超过 255 个字符")
	public String getWeiquanType() {
		return weiquanType;
	}

	public void setWeiquanType(String weiquanType) {
		this.weiquanType = weiquanType;
	}
	
	@Size(min=0, max=50, message="任务ID长度不能超过 50 个字符")
	public String getMyTaskId() {
		return myTaskId;
	}

	public void setMyTaskId(String myTaskId) {
		this.myTaskId = myTaskId;
	}
	
	@Size(min=0, max=50, message="申请人长度不能超过 50 个字符")
	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}
	
	@Size(min=0, max=255, message="维权原因长度不能超过 255 个字符")
	public String getFailExplain() {
		return failExplain;
	}

	public void setFailExplain(String failExplain) {
		this.failExplain = failExplain;
	}
	
	public String getPics() {
		return pics;
	}

	public void setPics(String pics) {
		this.pics = pics;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	@Size(min=0, max=255, message="1 用户申诉 2平台处理结果  3用户接单长度不能超过 255 个字符")
	public String getShensuStatus() {
		return shensuStatus;
	}

	public void setShensuStatus(String shensuStatus) {
		this.shensuStatus = shensuStatus;
	}
	
	public String getLiucheng() {
		return liucheng;
	}

	public void setLiucheng(String liucheng) {
		this.liucheng = liucheng;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCaidingTime() {
		return caidingTime;
	}

	public void setCaidingTime(Date caidingTime) {
		this.caidingTime = caidingTime;
	}
	
	@Size(min=0, max=255, message="裁定状态长度不能超过 255 个字符")
	public String getMyTaskStatus() {
		return myTaskStatus;
	}

	public void setMyTaskStatus(String myTaskStatus) {
		this.myTaskStatus = myTaskStatus;
	}

	public void setShensuStatusNoeq(String myTaskStatus) {
		this.sqlMap.getWhere().and("shensu_status",QueryType.NE, myTaskStatus); ;
	}
	
	public String getCaidingPics() {
		return caidingPics;
	}

	public void setCaidingPics(String caidingPics) {
		this.caidingPics = caidingPics;
	}
	
	@Size(min=0, max=255, message="裁定说明长度不能超过 255 个字符")
	public String getCaidingExplain() {
		return caidingExplain;
	}

	public void setCaidingExplain(String caidingExplain) {
		this.caidingExplain = caidingExplain;
	}
	
}